// pages/index/index.js
const app = getApp()

Page({
  data: {
    // 轮播数据
    carouselList: [],
    currentCarousel: 0,
    
    // 文化分类
    cultureCategories: [],
    
    // 热门内容
    trendingContent: [],
    
    // AI创作相关
    aiInput: "",
    aiResult: null,
    generating: false,
    focusAiInput: false,
    
    // 菜单状态
    showMenu: false,
    
    // 加载状态
    loading: true
  },
  
  onLoad() {
    // 初始化数据
    this.setData({
      userInfo: app.globalData.userInfo
    })
    
    // 获取首页数据
    this.getHomePageData()
  },
  
  // 获取首页数据
  getHomePageData() {
    const that = this
    app.requestWithToken({
      url: 'http://127.0.0.1:8056/index.php?c=api&a=getHomePageData',
      method: 'GET',
      success(res) {
        if (res.data.code === 1) {
          that.setData({
            carouselList: res.data.data.carouselList,
            cultureCategories: res.data.data.cultureCategories,
            trendingContent: res.data.data.trendingContent,
            loading: false
          })
          
          // 更新全局积分
          if (res.data.data.points !== undefined) {
            app.globalData.积分 = res.data.data.points
          }
        } else {
          console.error('获取首页数据失败:', res.data.msg)
          that.setData({ loading: false })
        }
      },
      fail(err) {
        console.error('网络请求失败:', err)
        that.setData({ loading: false })
        wx.showToast({
          title: '网络异常，请稍后再试',
          icon: 'none'
        })
      }
    })
  },
  
  // 轮播切换事件
  onCarouselChange(e) {
    this.setData({
      currentCarousel: e.detail.current
    })
  },
  
  // 手动设置轮播
  setCurrentCarousel(e) {
    this.setData({
      currentCarousel: e.currentTarget.dataset.index
    })
  },
  
  // 导航到分类
  navigateToCategory(e) {
    const category = e.currentTarget.dataset.category
    
    // 根据不同分类跳转到对应的专用页面
    switch(category) {
      case 'poetry':
        wx.navigateTo({
          url: `/pages/explore/poetry-list?category=poetry`
        })
        break
      case 'idiom':
        wx.navigateTo({
          url: `/pages/explore/idiom-list?category=idiom`
        })
        break
      case 'classics':
        wx.navigateTo({
          url: `/pages/explore/classics-list?category=classics`
        })
        break
      case 'ar':
        wx.navigateTo({
          url: `/pages/ar/ar`
        })
        break
      default:
        wx.navigateTo({
          url: `/pages/explore/explore?category=${category}`
        })
    }
  },
  
  // 前往详情页
  goToDetail(e) {
    const id = e.currentTarget.dataset.id
    wx.navigateTo({
      url: `/pages/detail/detail?id=${id}`
    })
  },
  
  // 轮播图点击跳转
  goToCarouselDetail(e) {
    const id = e.currentTarget.dataset.id
    wx.navigateTo({
      url: `/pages/detail/detail?id=${id}&source=carousel`
    })
  },
  
  // 前往探索页
  goToExplore() {
    wx.navigateTo({
      url: '/pages/explore/explore'
    })
  },
  
  // 前往搜索
  goToSearch() {
    wx.navigateTo({
      url: '/pages/explore/explore?search=true'
    })
  },
  
  // 前往通知
  goToNotifications() {
    wx.showToast({
      title: '通知功能开发中',
      icon: 'none'
    })
  },
  
  // 前往个人中心
  goToProfile() {
    wx.navigateTo({
      url: '/pages/profile/profile'
    })
  },
  
  // AI输入变化
  onAiInputChange(e) {
    this.setData({
      aiInput: e.detail.value
    })
  },
  
  // 生成诗词
  generatePoetry() {
    if (!this.data.aiInput.trim()) {
      wx.showToast({
        title: '请输入创作主题',
        icon: 'none'
      })
      return
    }
    
    // 检查积分
    if (app.globalData.积分 < 30) {
      wx.showToast({
        title: '积分不足',
        icon: 'none'
      })
      return
    }
    
    this.setData({
      generating: true
    })
    
    const that = this
    app.requestWithToken({
      url: 'https://your-api-domain/api.php?c=api&a=generateAIPoetry',
      method: 'POST',
      data: {
        theme: this.data.aiInput
      },
      success(res) {
        if (res.data.code === 1) {
          // 生成结果
          const now = new Date()
          const timeStr = `${now.getMonth() + 1}月${now.getDate()}日 ${now.getHours()}:${now.getMinutes()}`
          
          that.setData({
            aiResult: {
              content: res.data.data.content,
              time: timeStr,
              gen_id: res.data.data.gen_id
            },
            generating: false
          })
          
          // 更新全局积分
          app.globalData.积分 -= 30
          
          wx.showToast({
            title: '创作完成',
            icon: 'success'
          })
        } else {
          that.setData({ generating: false })
          wx.showToast({
            title: res.data.msg || '生成失败',
            icon: 'none'
          })
        }
      },
      fail(err) {
        console.error('网络请求失败:', err)
        that.setData({ generating: false })
        wx.showToast({
          title: '网络异常，请稍后再试',
          icon: 'none'
        })
      }
    })
  },
  
  // 保存AI结果
  saveAiResult() {
    if (!this.data.aiResult) return
    
    const that = this
    app.requestWithToken({
      url: 'https://your-api-domain/api.php?c=api&a=addFavorite',
      method: 'POST',
      data: {
        content_type: 'ai',
        content_id: this.data.aiResult.gen_id
      },
      success(res) {
        if (res.data.code === 1) {
          wx.showToast({
            title: '收藏成功',
            icon: 'success'
          })
        } else {
          wx.showToast({
            title: res.data.msg || '收藏失败',
            icon: 'none'
          })
        }
      },
      fail(err) {
        console.error('网络请求失败:', err)
        wx.showToast({
          title: '网络异常，请稍后再试',
          icon: 'none'
        })
      }
    })
  },
  
  // 分享AI结果
  shareAiResult() {
    wx.showToast({
      title: '分享功能开发中',
      icon: 'none'
    })
  },
  
  // 显示/隐藏加号菜单
  showPlusMenu() {
    this.setData({
      showMenu: !this.data.showMenu
    })
  },

  // 轮播图切换事件
  onCarouselChange(e) {
    this.setData({
      currentCarousel: e.detail.current
    })
  },
  
  // 前往AR页面
  goToAR() {
    wx.navigateTo({
      url: '/pages/ar/ar'
    })
    this.setData({
      showMenu: false
    })
  },
  
  // 前往学习计划
  goToStudyPlan() {
    wx.showToast({
      title: '学习计划开发中',
      icon: 'none'
    })
    this.setData({
      showMenu: false
    })
  },
  
  // 前往我的创作
  goToCreate() {
    wx.showToast({
      title: '我的创作开发中',
      icon: 'none'
    })
    this.setData({
      showMenu: false
    })
  }
})
    